The Early Search for Tractable Ways of Reasoning about Programs
نویسنده
چکیده
This paper traces the important steps in the history –up to around 1990– of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satisfies its specification (or that two programs were equivalent). Over time it became clear that post facto verification is only practical for small programs and attention turned to verification methods which support the development of programs; for larger programs it is necessary to exploit a notation of compositionality. Coping with concurrent algorithms is much more challenging – this and other extensions are considered briefly. The main thesis of this paper is that the idea of reasoning about programs has been around since they were first written; the search has been to find
منابع مشابه
Enhancing the usability of rely-guarantee conditions for atomicity refinement
Formal methods are a useful tool for increasing the confidence in the correctness of computer programs with respect to their specifications. Formal methods allow designers to model specifications and these formal models can then be reasoned about in a rigourous way. Formal methods for sequential processes are well-understood, however formal methods for concurrent programs are more difficult, be...
متن کاملModel and Proof Generation for Heap-Manipulating Programs
Existing heap analysis techniques lack the ability to supply counterexamples in case of property violations. This hinders diagnosis, prevents test-case generation and is a barrier to the use of these tools among non-experts. We present a verification technique for reasoning about aliasing and reachability in the heap which uses ACDCL (a combination of the well-known CDCL SAT algorithm and abstr...
متن کاملArchitecture, City and Mathematics: The Lost Connection
The connection between architecture and science and sound based on mathematical relations has continued to develop[ since the rise of the Western classical civilization that originated in Ancient Greece. The mysterious Pythagorean cosmology pursued as secret esoteric knowledge was related to the search of rhythm, proportionality and harmony. Even somewhat earlier, Greek mysteries were based on ...
متن کاملStatic Analysis of Linear Logic ProgrammingJean -
Linear Logic is gaining momentum in computer science because it ooers a uniied framework and a common vocabulary for studying and analyzing diierent aspects of programming and computation. We focus here on models where computation is identiied with proof search in the sequent system of Linear Logic. A proof normalization procedure, called \focusing", has been proposed to make the problem of pro...
متن کاملProbabilistic Program Abstractions
Abstraction is a fundamental tool for reasoning about complex systems. Program abstraction has been utilized to great effect for analyzing deterministic programs. At the heart of program abstraction is the relationship between a concrete program, which is difficult to analyze, and an abstract program, which is more tractable. Program abstractions, however, are typically not probabilistic. We ge...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- IEEE Annals of the History of Computing
دوره 25 شماره
صفحات -
تاریخ انتشار 2003